草庐IT

C++ 内存分配

全部标签

linux - Windows 内存页面是否始终以 4096 字节为单位?

在Linux系统上,mmaped内存总是从4096内存的新页面开始,据我所知。Windows操作系统也是如此吗? 最佳答案 有可能,但调用GetSystemInfo可以确定。页面对齐等于页面大小。 关于linux-Windows内存页面是否始终以4096字节为单位?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/43288611/

windows - 键盘快捷键如何工作以及如何为我的 python 脚本分配一个快捷键?

如何向我的python脚本输入类似CTRL+'something'/SHIFT+'something'/ALT+'something'的内容。背景:我正在尝试构建一个基于python的应用程序,无论我正在积极使用什么应用程序或程序,我的脚本都会在后台继续运行,当我按下键盘快捷键时(我想知道如何分配),脚本将执行(执行我为其编写的程序)。我是初学者,不知道Windows或其他桌面应用程序如何将键盘快捷键作为输入并执行任务。我知道像CTRL/SHIFT/ALT这样的击键不能作为python脚本的控制台输入。那么我怎样才能将这样的快捷方式编程到我的应用程序中呢?我所有的网络搜索都导致了诸如“

c++ - boost::进程间共享内存

我的环境是Windows2008/2012C++VS2013。我希望STL映射在热重启后持续存在。使用boost:interprocess是一种解决方案,其中重新启动的应用程序是服务器端对map进行更新,而另一个客户端应用程序将连接到同一个共享内存段,以使其在服务器应用程序崩溃时保持“事件状态”/出于任何原因重新启动? 最佳答案 是的,你可以做到这一点。您可以使用interprocess::shared_ptr来获取您建议的引用计数。请记住,映射内存并非神奇的事务性,因此如果出现硬故障,则可能会出现损坏。如果您需要稳健的状态持久性,

c - Windows 10 上的多线程性能比 Linux 差得多

我将一个多线程Linux应用程序移植到Windows,并在运行Windows10专业版的服务器上对其进行测试。与在相同双启动硬件上运行的Linux版本的性能相比,Windows版本的性能非常糟糕。我将代码简化为一个表现出相同症状的小型多线程示例。我希望SO社区能够就此应用程序在Windows和Linux之间存在这种性能差异的原因提供一些见解,并提供有关如何解决该问题的建议。我正在测试的机器具有双IntelXeonGold6136CPU(24/48物理/逻辑内核)@3.0GHz(Turbo加速至3.6GHz)和128GB内存。机器设置为双引导CentOS或Windows10。没有运行Wi

python - 如何使用 python 在 Windows 上查找未分配的驱动器号

我需要通过python脚本在Windows上找到一个可用的驱动器盘符。Free代表未分配给任何物理或远程设备。我做了一些研究并在stackoverflow上找到了解决方案(不记得确切的链接):#forpython2.7importstringimportwin32apidefgetfreedriveletter():"""Findfirstfreedriveletter"""assigneddrives=win32api.GetLogicalDriveStrings().split('\000')[:-1]assigneddrives=[item.rstrip(':\\').lower

asp.net - 企业服务器上的 IIS 6.0 - 内存限制

我们想将Web服务器从Windows2003切换到Windows2003Enterprise(64位)以使用8GBRAM。IIS6.0和ASPNET1.1应用程序能否从更改中受益? 最佳答案 由于ASP.Net1.1不支持x64,您只能使用32位工作进程运行IIS6。/3GB开关在x64上不执行任何操作,但x64native为32位进程提供4GB而不是2GB,因此您将有更多内存可用于您的工作进程。您需要将AppPools设置为32位:cscript%SystemDrive%\inetpub\AdminScripts\adsutil.

c++ - 在 Windows 上测量内存分配的一些好工具是什么?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我有一个应用程序,随着时间的推移(在积极运行时)不断消耗越来越多的内存,但没有泄漏。所以我知道该程序没有做完全错误的事情,这很容易找到。相反,我想跟踪分配,这样我就可以开始跟踪问题,在Mac上我会使用Instruments,它提供了有关

windows - 为内存跟踪应用程序 Hook 调用 HeapAlloc 的僵局

我正在编写一个内存跟踪应用程序,它使用IAT修补机制Hook对HeapAlloc的所有调用。这个想法是捕获对HeapAlloc的所有调用并获得调用堆栈。但是,我目前面临使用DBGHELPApis获取调用堆栈的问题。我发现dbghelpdll本身链接到MSVCRTdll,这种依赖导致递归调用。当我尝试从目标应用程序获取任何调用的调用堆栈时,dbghelp在内部调用MSVCRT中的一些方法,该方法再次调用HeapAlloc。因为我已经修补了MSVCRT,所以它会导致无限循环。有人遇到过这个问题并解决了吗?有没有办法摆脱这种僵局? 最佳答案

windows - 内存转储中的 DbgPrint?

我有一个驱动可以直接避开BSoD,将WindowsVista的屏幕变成黑色,并带有一些彩色的点和条纹。之后我在系统上发现了一个内存转储,DbgView向我展示了一个堆栈跟踪(说明这可能是一个乱码堆栈,某些部分可能不正确)。遗憾的是,在堆栈中找到的命令在明显破坏整个事情的代码部分无处可寻。(我可以离开我们的整个例程,但不能离开它的一部分。)有人知道一种方法可以将调试消息放入内存转储或从串行端口中取出,以便在外部调试器中读取它们吗?(如果连接了调试器,我的测试系统就会停止,但这可能是我对远程连接内核调试的方式和原因了解不够。)我想知道我的代码失败的地方,因为浏览代码对我来说似乎很好但有点徒

c++ - Win32 共享内存的包装类? (进程间通信)

您可以为Win32上的IPC推荐什么包装类?我试过XQueue,我发现它有点笨拙,想听听外面还有什么。在InterlockedPopEntrySList()上构建一些东西看起来不错,但这需要服务器2003。谢谢,亚当 最佳答案 我推荐Qt4(或者您可以查看源代码):http://doc.trolltech.com/4.5/qsharedmemory.html 关于c++-Win32共享内存的包装类?(进程间通信),我们在StackOverflow上找到一个类似的问题: